package co.yixiang.exception;

import lombok.Getter;
import org.springframework.http.HttpStatus;

import static org.springframework.http.HttpStatus.BAD_REQUEST;

/**
 * 自定义不良请求异常类，用于统一处理不良请求错误
 * 继承自RuntimeException，利用Lombok的@Getter注解自动生成状态码的getter方法
 */
@Getter
public class BadRequestException extends RuntimeException{

    /**
     * HTTP状态码，默认为BAD_REQUEST（400）
     */
    private Integer status = BAD_REQUEST.value();

    /**
     * 构造函数，传入异常消息
     *
     * @param msg 异常消息
     */
    public BadRequestException(String msg){
        super(msg);
    }

    /**
     * 带HTTP状态码的构造函数
     *
     * @param status HTTP状态码
     * @param msg 异常消息
     */
    public BadRequestException(HttpStatus status,String msg){
        super(msg);
        this.status = status.value();
    }
}
